home *** CD-ROM | disk | FTP | other *** search
- /* Rich Hypertext object for libWWW
- RICH HYPERTEXT OBJECT
-
- */
-
- /*
-
- This is the C interface to the Objective-C (or whatever) HyperText class.
-
- */
- #ifndef HTEXT_H
- #define HTEXT_H
- #include "HTAnchor.h"
- #include "HTStream.h"
-
- #ifdef SHORT_NAMES
- #define HTMainText HTMaText
- #define HText_new HTHTNew
- #define HText_free HTHTFree
- #define HText_beginAppend HTHTBeAp
- #define HText_endAppend HTHTEnAp
- #define HText_appendCharacter HTHTApCh
- #define HText_appendText HTHTApTe
- #define HText_appendParagraph HTHTApPa
- #define HText_beginAnchor HTHTBeAn
- #define HText_endAnchor HTHTEnAn
- #define HText_dump HTHTDump
- #define HText_nodeAnchor HTHTNoAn
- #define HText_select HTHTSele
- #define HText_selectAnchor HTHTSeAn
- #define HText_replaceSel HTHTRepl
- #define HText_applyToSimilar HTHTApTo
- #define HText_unlinkSelection HTHTUnSe
- #define HText_linkSelTo HTHTLiSe
- #define HText_referenceSelected HTHTRefS
- #endif
-
- #ifndef THINK_C
- #ifndef HyperText /* Objective C version defined HyperText */
- typedef struct _HText HText; /* Normal Library */
- #endif
- #else
- class CHyperText; /* Mac Think-C browser hook */
- typedef CHyperText HText;
- #endif
-
- extern HText * HTMainText; /* Pointer to current main text */
-
- /* Creation and deletion
- **
- ** Create hypertext object HText_new
- */
- extern HText * HText_new PARAMS((void));
-
- /* Free hypertext object HText_free
- */
- extern void HText_free PARAMS((HText * me));
-
-
- /* Object Building methods
- ** -----------------------
- **
- ** These are used by a parser to build the text in an object
- ** HText_beginAppend must be called, then any combination of other
- ** append calls, then HText_endAppend. This allows optimised
- ** handling using buffers and caches which are flushed at the end.
- */
- extern void HText_beginAppend PARAMS((HText * text));
-
- extern void HText_endAppend PARAMS((HText * text));
- extern void HText_doAbort PARAMS((HText * text));
- extern void HText_clearOutForNewContents PARAMS((HText * text));
-
- /* Add one character
- */
- extern void HText_appendCharacter PARAMS((HText * text, char ch));
-
- /* Add a zero-terminated string
- */
- extern void HText_appendText PARAMS((HText * text, CONST char * str));
- /* Add a block.
- */
- extern void HText_appendBlock PARAMS((HText * text, CONST char * str, int len));
-
- /* New Paragraph
- */
- extern void HText_appendParagraph PARAMS((HText * text));
-
- /* Start/end sensitive text
- **
- ** The anchor object is created and passed to HText_beginAnchor.
- ** The senstive text is added to the text object, and then HText_endAnchor
- ** is called. Anchors may not be nested.
- */
-
- extern void HText_beginAnchor PARAMS((HText * text, char * anc));
- extern void HText_endAnchor PARAMS((HText * text));
-
-
- /* Dump diagnostics to stderr
- */
- extern void HText_dump PARAMS((HText * me));
-
- extern char *HText_getText (HText *me);
- extern int HText_getTextLength (HText *me);
- extern char **HText_getPtrToText (HText *me);
-
- /* Browsing functions
- ** ------------------
- */
-
- /* Bring to front and highlight it
- */
-
- extern BOOL HText_select PARAMS((HText * text));
-
-
- #endif /* HTEXT_H */
- /*
-
- end */
-